from matplotlib import pyplot as plt

# 支持windows和linux 设置字体
import matplotlib

font = {'family': 'MicroSoft YaHei', 'weight': 'bold', 'size': 'larger'}
matplotlib.rc("font", **font)
# 支持windows/linux/mac设置字体 需要传入字体坐在路径(下面调用的时候需要传入参数fontproperties=my_font)
from matplotlib import font_manager

my_font = font_manager.FontProperties(fname="/System/Library/Fonts/PingFang.ttc")

# figure是图形图标的意思，指我们画的图
# 通过实例化一个figure并且传递参数，能够在后台自动使用该figure实例
# 在图像模糊的时候可以传入dpi参数，是图片更加清晰
fig = plt.figure(figsize=(20, 8), dpi=80)
x = range(2, 26, 2)
y_1 = [15, 13, 14.5, 17, 20, 25, 26, 26, 24, 22, 18, 15]
y_2 = [13, 13, 35, 37, 30, 35, 26, 26, 24, 22, 18, 15]



# 设置x的刻度
# plt.xticks(x)
# plt.xticks(range(2,26))
# _xtick_labels = [i / 2 for i in range(4, 49)]
# plt.xticks(_xtick_labels)
# 调整x轴的刻度变成字符串
_x = x
_xtick_label = ['你好{}'.format(i) for i in _x]
plt.xticks(_x, _xtick_label, rotation=45, fontproperties=my_font)

# 添加描述信息
plt.xlabel('时间', fontproperties=my_font)
plt.ylabel('温度', fontproperties=my_font)
plt.title('2号到26号的气温变化情况', fontproperties=my_font)

# 绘制网格,alpha为网格的透明度
plt.grid(alpha=0.2)

# 添加图例
plt.legend(prop=my_font, loc="upper left")

# 绘图
plt.plot(x, y_1, label='今年',color='orange',linestyle=':',linewidth=5,alpha=0.5)
plt.plot(x, y_2, label='去年',color='cypan',linestyle='--')

# 保存图片(可以把存成svg这种矢量图片格式，放大不会有锯齿)
# plt.savefig('./sig_size.png')
plt.show()  # 展示
